package com.atguigu.rabbitmq.two;

import com.atguigu.rabbitmq.utils.RabbitMqutils;
import com.rabbitmq.client.CancelCallback;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.DeliverCallback;


import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 *
 *
 * 这是一个工作的线程 相当于之前的消费
 */


public class Worker01 {

 //队列名称
     public static final String QUEUE_NAME="hello";

     
     //接受消息
     public static void main(String[] args) throws IOException, TimeoutException {
         Channel channel = RabbitMqutils.getChannel();


         DeliverCallback deliverCallback=(var1,var2)->{
             System.out.println("接受到的消息"+new String(var2.getBody()));
         };

        CancelCallback cancelCallback=var1->{
            System.out.println(var1+"消费者取消的消费接口回调");
        };
         //消息的接受
         /**
          * 消费者消费信息
          *1.表示消费那个队列
          * 2.消费成功之后 是否自动应答ture自动应答 false手动应打 默认false
          * 3.消费未成功消费的回调
          * 4.消费者取消消费的回调
          *
          */
         System.out.println("C2等待接受消息......");
         channel.basicConsume(QUEUE_NAME,true,deliverCallback,cancelCallback);


     }





}
